package resources;

import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.net.URL;
import java.net.URLClassLoader;

import javax.swing.JPanel;


public class ImageLoader {

	private static URLClassLoader urlLoader = (URLClassLoader)ClassLoader.getSystemClassLoader();

	/**
	 * Extrait un fichier du Jar
	 * @param fichier chemin dans le Jar (exemple : "img/image.png") 
	 * @return URL d'accès à la ressource
	 */
	public static URL chargeFichier(String fichier) {
		return urlLoader.findResource(fichier);
	}

	/**
	 * Retourne une image chargée
	 * @param fichier
	 * @return
	 */
	public static Image chargeImage(String fichier) {
		Image image = null;

		JPanel jTmp = new JPanel();

		try {
			MediaTracker tracker = new MediaTracker(jTmp);
			image = Toolkit.getDefaultToolkit().getImage(chargeFichier(fichier));
			tracker.addImage(image, 0);
			tracker.waitForID(0);
		}
		catch(InterruptedException e) {
		}
		return image;
	}
}
